package network

import (
	"fmt"
	"strings"

	"gitee.com/liumou_site/gcs"
	"gitee.com/liumou_site/logger"
)

// Init 初始化ApiNmcli实例，检查nmcli命令是否存在
// 该方法只负责检测nmcli命令可用性，不再负责网卡信息获取
func (n *NmcliStruct) Init() {
	if !gcs.CheckCmd("nmcli") {
		logger.Error("Nmcli Command does not exist")
		n.Err = fmt.Errorf("nmcli Command does not exist")
	}
}

// GetConnectionList 获取连接列表（示例：可根据实际需要扩展连接管理相关通用方法）
func (n *NmcliStruct) GetConnectionList() bool {
	if len(n.devList) == 0 {
		return false
	}
	c := "nmcli connection | grep " + n.conType + " | grep " + n.device + "| awk '{print $1,$2}'"
	n.cmd.RunShell(c)
	cs := strings.Split(n.cmd.Strings, "\n")
	// 这里假设有gbm.SliceRemoveNull工具函数
	// cs = gbm.SliceRemoveNull(cs)
	n.connectionList = cs
	return n.cmd.Result
}
